package algoritmobanchiere;

/**
 * Questa interfaccia rappresenta un tipo di risorsa a cui poter attingere.
 * Una risorsa ha un numero di istanze disponibili che possono essere cedute
 * e ri-ottenute.
 */
public interface Risorsa {
	
	/**
	 * Ritorna il numero di istanze disponibili di questa risorsa.
	 * 
	 * @return il numero di istanze disponibili
	 */
	int getIstanzeDisponibili();
	
	/**
	 * Cede un'unita' di questa risorsa.
	 */
	void cediIstanza();
	
	/**
	 * Ri-ottiene un'unita' di questa risorsa.
	 */
	void ottieniIstanza();
	
}
